'''
LEGB 规则（说白了就是就近原则
）
    python在查找“名称”时，是按照LEGB规则查找的：Local=>Enclosed=>Global=>Built in
    Local       指的就是函数或类的方法内部
    Enclosed    指的是嵌套函数（一个函数包裹另一个函数，闭包）
    Global      指的是模块中的全局变量
    Built in    指的是python为自己保留的特殊名称
和nonlocal还有global需要区别
    使用了global去声明，则修改的是全局变量，否则是在局部声明的新变量
    使用了nonlocal声明，修改的是内部函数的父级的变量，否则是声明的内部函数的新变量。
'''
s = 1


def outer():
    s = 10

    def inner():
        s = 100
        print(s)

    inner()


outer()
